/**
 * 
 */
(function() {
    'use strict';

    angular
        .module('milkbeeApp')
        .controller('MyFocusController', MyFocusController);

    MyFocusController.$inject = ['$scope', '$state','$http', 'MyFocus', 'ParseLinks', 'AlertService', 'paginationConstants', 'pagingParams'];

    function MyFocusController ($scope, $state, $http,MyFocus, ParseLinks, AlertService, paginationConstants, pagingParams) {
    	 var vm = this;

         vm.loadPage = loadPage;
         vm.predicate = pagingParams.predicate;
         vm.reverse = pagingParams.ascending;
         vm.transition = transition;
         vm.itemsPerPage = paginationConstants.itemsPerPage;
         loadAll();

         function loadAll () {
        	 MyFocus.query({
                 page: pagingParams.page - 1,
                 size: vm.itemsPerPage,
                 sort: sort()
             }, onSuccess, onError);
             function sort() {
                 var result = [vm.predicate + ',' + (vm.reverse ? 'asc' : 'desc')];
                 if (vm.predicate !== 'id') {
                     result.push('id');
                 }
                 return result;
             }
             function onSuccess(data, headers) {
                 vm.links = ParseLinks.parse(headers('link'));
                 vm.totalItems = headers('X-Total-Count');
                 vm.queryCount = vm.totalItems;
                 vm.focus = data;
                 vm.page = pagingParams.page;
             }
             function onError(error) {
                 AlertService.error(error.data.message);
             }
         }

         function loadPage(page) {
             vm.page = page;
             vm.transition();
         }

         function transition() {
             $state.transitionTo($state.$current, {
                 page: vm.page,
                 sort: vm.predicate + ',' + (vm.reverse ? 'asc' : 'desc'),
                 search: vm.currentSearch
             });
         }
         vm.cancelFocus=function(obj){
        	 $http({
     			method: 'DELETE',
     			url: '/api/user/cancelfocus/'+obj.id,
     			params:{'id':obj.id}
     		}).then(function successCallback(response) {
     			 AlertService.success("success");
     			//alert("sucsess");
     			//alert(response.data);
     		}, function errorCallback(response) {
     			AlertService.error("fail");
     			//alert(response.data);
     		});
         }

    }
})();
